package com.mind.ridge.service.front;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mind.ridge.dto.front.OrderDto;
import com.mind.ridge.pojo.front.Orders;
import com.mind.ridge.pojo.front.ShoppingCart;
import com.mind.ridge.utils.OrderException;
import com.mind.ridge.utils.R;
import org.springframework.core.annotation.Order;

import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Map;

/**
 * @author Mind
 */
public interface OrdersService extends IService<Orders> {

    /**
     * 下单
     * @param session 获取当前用户id
     * @param order   订单信息
     * @return
     */
    R<String> submit(HttpSession session,Orders order) throws OrderException;


    /**
     * 前台订单分页
     * @param page     当前页面
     * @param pageSize 页面大小
     * @param session  获取当前用户id
     * @return         返回订单分页
     */
    R<IPage<Orders>> userPage(int page,int pageSize,HttpSession session);

    /**
     * 后台订单分页
     * @param page     当前页面
     * @param pageSize 页面大小
     * @return       返回订单分页
     */
    R<IPage<OrderDto>> orderPage(int page, int pageSize);

    /**
     * 改变订单状态
     * @param order   订单信息
     * @return  返回信息
     */
    R<String> changeOrderStatus(Orders order);

    /**
     * 再来一单
     * @param order 订单id号
     * @param session 获取用户id
     */
    R<String> again(Orders order, HttpSession session);
}
